package com.eduagent.xwqeduagent.model.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * 人像风格重塑请求类
 */
@Data
public class PortraitStyleRemakeRequest implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 必选，输入的图像 URL 地址
     * <p>
     * 要求：
     * - 图片格式：JPEG、PNG、JPG、BMP、WEBP
     * - 分辨率：不低于 256×256 像素，小于 5760×3240 像素
     * - 宽高比：不超过 1.5:1，超出部分将自动裁剪
     * - 质量要求：需上传脸部清晰的照片，避免夸张姿势和表情
     * - 图片大小：不超过 10M
     * - URL 地址不能包含中文字符
     */
    @JsonProperty("image_url")
    private String imageUrl;

    /**
     * 必选，人像风格类型索引值
     * <p>
     * 枚举值：
     * -1：参考上传图像风格（需提供 `styleRefUrl`）
     * 0：复古漫画
     * 1：3D 童话
     * 2：二次元
     * 3：小清新
     * 4：未来科技
     * 5：国画古风
     * 6：将军百战
     * 7：炫彩卡通
     * 8：清雅国风
     * 9：喜迎新年
     */
    @JsonProperty("style_index")
    private Integer styleIndex;

    /**
     * 可选，风格参考图像 URL 地址
     * <p>
     * 仅当 `styleIndex = -1` 时必填，其他风格无需提供
     * <p>
     * 限制：
     * - 分辨率：不小于 256×256，最大 5760×3240
     * - 宽高比：不超过 2:1
     * - 图片格式：JPEG、PNG、JPG、BMP、WEBP
     * - 图片大小：不超过 10M
     * - URL 地址不能包含中文字符
     */
    @JsonProperty("style_ref_url")
    private String styleRefUrl;
}